package cn.stylefeng.guns.modular.gridsystem.service;

import cn.stylefeng.guns.core.pojo.page.PageResult;
import cn.stylefeng.guns.modular.gridsystem.entity.BizAmpLog;
import cn.stylefeng.guns.modular.gridsystem.model.param.BizAmpLogParam;
import cn.stylefeng.guns.modular.gridsystem.model.result.BizAmpLogResult;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 振动数据上报日志 服务类
 *
 * @author ssy
 * @date 2023/02/03 09:53
 */
public interface BizAmpLogService extends IService<BizAmpLog> {

    /**
     * 分页查询震动数据日志
     *
     * @param bizAmpLogParam 查询条件入参
     *                       gatewayIds  网关id数组
     *                       gatewayCode 网关编号
     *                       channel     通道
     * @return Page<BizAmpLogResult>
     */
    PageResult<BizAmpLogResult> page(BizAmpLogParam bizAmpLogParam);

    /**
     * 添加振动数据上报日志
     *
     * @param bizAmpLogParam 新增数据入参
     *                       vibrationPoint     网关id数组
     *                       fileId             网关编号
     *                       channel            通道
     *                       gatewayCode        网关编号
     */
    void add(BizAmpLogParam bizAmpLogParam);

    /**
     * 根据id删除震动数据日志
     *
     * @param bizAmpLogParam 删除入参
     *                       id     主键id
     */
    void delete(BizAmpLogParam bizAmpLogParam);

    /**
     * 修改振动数据上报日志信息
     *
     * @param bizAmpLogParam 修改日志信息入参
     *                       id                 主键id
     *                       vibrationPoint     网关id数组
     *                       fileId             网关编号
     *                       channel            通道
     *                       gatewayCode        网关编号
     */
    void edit(BizAmpLogParam bizAmpLogParam);

    /**
     * 查看详情振动数据上报日志
     *
     * @param bizAmpLogParam 查询入参
     *                       id      主键id
     * @return BizAmpLogResult
     */
    BizAmpLogResult detail(BizAmpLogParam bizAmpLogParam);

}
